﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ElevateThis
{
    public class Constants
    {
        // Command line args
        public const string ARG_LAUNCHSTATE = "/LaunchState";
        public const string ARG_BATCHFILE = "/BatchFile";
        public const string ARG_BATCHARGS = "/BatchArgs";
        public const string ARG_WORKINGDIR = "/WorkingDir";
    }

    /// <summary>
    /// Tells this program which phase of the elevation process we're in
    /// </summary>
    public enum LaunchStates
    {
        NotElevated,
        RelaunchedElevated,
        Elevated
    }

    /// <summary>
    /// Exit codes.  To a batch file, non-zero means error.  The caller should treat all error
    /// codes as a signal to carry on processing - this is the best option when a GeneralError
    /// occurs as the user will at least get some feedback
    /// </summary>
    public enum ExitCode : int
    {
        Success = 0,
        Elevated = 1,
        GeneralError = 4
    }

}
